English and other Latin-based scripts define text based on an aggregation of individual building blocks (letters. In such scripts, each letter can have a number of modified states (e.g., capitalized, modified by an accent, etc.). Device keyboards designed to enable text entry in such languages are generally suited to stateful input methods based on a one-to-one mapping between a key press and an output. Such keyboards are generally implemented on touchscreen devices as input method editors (“IMEs”)—system components and/or programs that allow a user to enter input by interacting with a touch-based user interface that is output at a display device. For example, an on-screen/virtual, touch-based keyboard can substantially replicate the functionality of a physical keyboard (such as a typewriter keyboard). Other touchscreen IMEs are based on gesture input, in which an input gesture is mapped to a single output character. Such keyboards often have a static layout with keys divided into a first group of typing keys and a second group of state toggle keys. In such examples, the typing keys may each correspond to a single output character, while the state toggle keys (e.g., the “Caps Lock” key) can be configured to change the key layout and accordingly assign a different set of letters to the keyboard.
Because non-Latin-based languages often include more characters than can be included within the dimensions of a typical, physical QWERTY keyboard, an English-based computer keyboard is sometimes adapted to enable text input in such languages.